针对蠕虫病毒的扫描方法有哪些
针对蠕虫病毒的扫描方法有:
选择性随机扫描(selective random scan)
蠕虫在对目标主机进行扫描时,如果遍历所有的主机在Internet环境中几乎是不现实的,最可行的方式是有选择性地进行扫描。如果采取随机扫描方式,会对整个地址空间的IP随机抽取进行扫描,而选择性随机扫描将最有可能存在漏洞主机的地址集作为扫描的地址空间。选择性随机扫描也是随机扫描方式的一种。在选择性随机扫描中,所选的目标地址按照一定的算法随机生成,如互联网地址空间中未分配或者保留的IP地址块可排除在扫描范围之外。选择性随机扫描具有算法简单、易实现的特点,如果与本地优先原则结合,则能达到更好的传播效果。但选择性随机扫描容易引起网络阻塞,使得网络蠕虫在爆发之前易被发现,隐蔽性差。
顺序扫描(sequential scan)
顺序扫描是指被感染主机上蠕虫会随机选择一个C类网络地址进行传播。根据本地优先原则,蠕虫一般会选择它所在网络内的IP地址段。如果蠕虫扫描的目标主机IP地址的主机ID为n,则扫描的下一个地址IP为n+1或者n-1。
目标地址列表扫描(hit-list scan)
目标地址列表扫描是指网络蠕虫在寻找受感染的目标之前预先生成一份可能易传染的目标列表,然后对该列表进行攻击尝试和传播。目标列表生成方法有两种:一种是通过小规模的扫描或Internet的共享信息产生目标列表;另一种是通过分布式扫描生成全面的列表数据库。
基于路由的扫描(routable scan)
基于路由的扫描是网络蠕虫根据网络中的路由信息,对IP地址空间进行选择性扫描的一种方法。采用随机扫描的网络蠕虫会对未分配的地址空间进行探测,而这些地址大部分在Internet上是无法路由的(保留的私有IP地址),因此会影响到蠕虫的传播速度。如果网络蠕虫能够知道哪些IP地址是可路由的,它就能够更快、更有效地进行传播,并能逃避一些对抗工具的检测。基于路由的扫描极大地提高了蠕虫的传播速度,以CodeRed(红色代码)为例,路由扫描蠕虫的感染率是随机扫描蠕虫感染率的3.5倍。基于路由扫描的不足是网络蠕虫传播时必须携带一个路由IP地址库,蠕虫代码量大。
基于DNS扫描(DNS scan)
基于DNS扫描是指网络蠕虫从DNS服务器上获取IP地址来建立目标地址库。由于该方式中被扫描的对象是为Internet提供实时域名解析服务的DNS服务器,所以该扫描方式的优点是获得的IP地址块具有针对性,且可用性强。基于DNS扫描的不足是较难得到DNS记录的完整地址列表,而且蠕虫代码需要携带较大的地址库,传播速度慢,同时目标地址列表中的地址数受公共域名主机的限制。
分治扫描(divide-conquer scan)
分治扫描是网络蠕虫之间相互协作、快速搜索易感染主机的一种方式。网络蠕虫发送地址库的一部分给每台被感染的主机,然后每台主机再去扫描它所获得的地址。主机A感染了主机B以后,主机A将它自身携带的地址分出一部分给主机B,然后主机B开始扫描这一部分地址。分治扫描方式的不足是存在“坏点”问题,即在蠕虫传播的过程中,如果一台主机死机或崩溃,那么所有传给它的地址库就会丢失。“坏点”问题发生得越早,影响就越大。常用的解决“坏点”问题的方法有3种:在蠕虫传递地址库之前产生目标列表;通过计数器来控制蠕虫的传播情况,蠕虫每感染一个节点,计数器加1,然后根据计数器的值来分配任务;蠕虫传播的时候随机决定是否重传数据库。
被动式扫描(passive scan)
被动式传播蠕虫不需要主动扫描就能够传播。这类蠕虫会等待潜在的攻击对象来主动接触它们,或者依赖用户的活动去发现新的攻击目标。由于这类蠕虫需要用户触发,所以传播速度很慢,但这类蠕虫在发现目标的过程中并不会引起通信异常。这类蠕虫自身有更强的安全性。例如,CRClean会等待CodeRedII的探测活动,当它探测到一个感染企图时,就发起一个反攻来回应该感染企图,如果反攻成功,它就删除CodeRedII,并将自己安装到相应的机器上。